package db;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;

import laguntzaileak.Kutxa;

public class BarietateaKud {
	
	public static ResultSet betecheck() {

		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k1 = " SELECT izena FROM Barietatea";
		ResultSet rs = dbk.execSQL(k1);
		return rs;
	}
	
	public static int lortuId(String barietatea) {

		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k1 = "SELECT * FROM Barietatea WHERE izena = '" + barietatea
				+ "' ";
		int zenbakia = 0;
		ResultSet rs = dbk.execSQL(k1);
		try {
			if (rs.next()) {
				zenbakia = rs.getInt(1);

			}
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		return zenbakia;

	}
	
	public static ResultSet barietateakLortu() {
		
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k = "SELECT * FROM Barietatea ";
		ResultSet rs = dbk.execSQL(k);

		return rs;
	}

	public static void gehituBarietatea(String barietatea) {
		
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k1 = "INSERT INTO Barietatea(izena) VALUES ('"

		+ barietatea + "')";

		dbk.execSQL(k1);

	}

	public static void ezabatuBarietatea(String barietatea) {
		
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();

		String k = " DELETE FROM Barietatea WHERE izena= '" + barietatea + "' ";
		dbk.execSQL(k);
	}

	public static Vector<Integer> lortuBarietateaukeratuak(int id) {
		
		Vector<Integer> emaitza = new Vector<Integer>();
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k = "Select * from Badago Where idlekua= '" + id + "' ";
		ResultSet rs = dbk.execSQL(k);
		int bar = 0, i = 0;
		try {
			while (rs.next()) {
				bar = rs.getInt("barietateid");
				emaitza.add(i, bar);
				i = i + 1;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return emaitza;
	}
public static int badagoBarietatea(String barietatea) {
		
		int emaitza = 0;

		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k = "SELECT * FROM Barietatea WHERE izena= '" + barietatea	+ "'   ";
		ResultSet rs = dbk.execSQL(k);
		try {
			if (rs.next()) {
				emaitza = rs.getRow();
			}
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		return emaitza;
		
	}
public static String lortuizena(Integer i) {
	String izena = null;
	DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
	String k1 = " SELECT izena FROM Barietatea Where id = '" + i + "' ";
	ResultSet rs = dbk.execSQL(k1);

	try {
		if (rs.next()) {
			izena = rs.getString("izena");
		}
	} catch (SQLException e) {
		
		e.printStackTrace();
	}
	return izena;
}

public static Vector<Integer> lortubarietatea(int herria) {
	
	Vector<Integer> emaitza = new Vector<Integer>();
	DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
	String k = "SELECT barietateid FROM Badago WHERE idlekua= '" + herria
			+ "' ";
	ResultSet rs = dbk.execSQL(k);
	int i = 0;
	try {
		while (rs.next()) {
			emaitza.add(i, rs.getInt(1));
			System.out.println(emaitza.elementAt(i));
		}
	} catch (SQLException e) {
	
		e.printStackTrace();
	}
	return emaitza;
}
public static void kutxakSartu(Vector<Kutxa> bektoreKutxa, String date,
		int identi) {

	int i = 1;
	DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
	while (bektoreKutxa.size() >= i) {
		int id = BarietateaKud.lortuId(bektoreKutxa.elementAt(i - 1)
				.getIzena());
		int kutxak = (bektoreKutxa.elementAt(i - 1).getKutxak());

		String k2 = "INSERT INTO Batu(idbarietate,idlekua,kutxak,noiz) VALUES ('"

				+ id
				+ "','"
				+ identi
				+ "','"
				+ kutxak
				+ "', (STR_TO_DATE('" + date + "','%d-%m-%Y')))";

		dbk.execSQL(k2);

		i = i + 1;
		// sartu dbean!!!

	}

}



public static Vector<Kutxa> lortuBatutakoa(int idLekua, int ii) {

	Vector<Kutxa> kutxa = new Vector<Kutxa>();
	DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
	Kutxa kb;
	String k = "Select * from Batu Where idlekua= '" + idLekua
			+ "'and  Year(noiz)=YEAR(now())-'" + ii + "'";
	ResultSet rs = dbk.execSQL(k);
	int i = 0;
	try {
		while (rs.next()) {
			kb = new Kutxa(null, 0);
			int kutxak = rs.getInt("kutxak");
			int bar = rs.getInt("idBarietate");

			kb.setKutxak(kutxak);
			String barietate = BarietateaKud.lortuizena(bar);
			kb.setIzena(barietate);

			kutxa.add(i, kb);
			i = i + 1;
		}
	} catch (SQLException e) {

		e.printStackTrace();
	}

	return kutxa;
}

public static int badago(String urtea, int lekuaid) {

	int emaitza = 0;
	DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
	String k = "SELECT * FROM Batu WHERE idlekua= '" + lekuaid
			+ "'and  Year(noiz)='" + urtea + "'";
	ResultSet rs = dbk.execSQL(k);
	try {
		if (rs.next()) {
			emaitza = rs.getRow();
		}
	} catch (SQLException e) {

		e.printStackTrace();
	}
	return emaitza;
}
public static String lortuBarietatea(int barietateid) {
	
	String emaitza = null;
	DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
	String k = "SELECT izena FROM Barietatea WHERE id='" + barietateid + "'";
	 ResultSet rs= dbk.execSQL(k);
	try {
		if (rs.next()){
			emaitza =rs.getString("izena");
		}
	} catch (SQLException e) {
	
		e.printStackTrace();
	}
	return emaitza;
}


}
